package ACM;



import javax.swing.JOptionPane;

public class SeIntersectan {
	
	
	
	public static void main(String[] args) {
		String entrada="" , valores[]=new String[0];
		int salida=0;
		double parametros[]=new double[0], distancia=0,radio=0;
		boolean okay=true;
		
		
		do {
			okay = true;
			do{
				okay=true;
				try {
					do{
						entrada=JOptionPane.showInputDialog(null,"Ingrese valores para x1, y1, r1, x2, y2, r2\nRellene con ceros para salir. ");
						valores=entrada.split(" ");
						
						if(valores.length==6){
							parametros=new double[valores.length];
							if (parametros.length == 6) {
								for (int i = 0; i < parametros.length; i++) {
									parametros[i] = Double.parseDouble(valores[i]);
									if(parametros[i]==0){
										salida++;
										if(salida==6){
											okay=true;
											break;
											
										}
									}
									if (i==2 || i==5) {
										if (parametros[i]<0||parametros[i]>1000) {
											okay=false;
										}
									}else if(parametros[i]<0||parametros[i]>10000){
										okay=false;
									}
									
								}
							} else {
								okay = false;
								JOptionPane.showMessageDialog(null,"****Cantidad invalida****");
							}
						
						}else{
							JOptionPane.showMessageDialog(null,"****Cantidad invalida****");
						}
					}while( valores.length !=6);
				} catch (NumberFormatException objetoError) {
					okay = false;
					JOptionPane.showMessageDialog(null, "****Parametro invalido****");
				}
			}while(!okay);
			if(salida!=6){
				distancia=Math.sqrt(Math.pow(parametros[0]-parametros[3],2)+Math.pow ( parametros[1]-parametros[4], 2));
				radio=parametros[2]+parametros[5];
				if(radio >= distancia && radio >= distancia){
					JOptionPane.showMessageDialog(null, " SI");
					okay=false;
				}else{
					JOptionPane.showMessageDialog(null,"NO");
					okay=false;
				}
			}
		} while (!okay);  
		
	}

}
